Control System for Optimizing Boiler Fluid Temperature Set Points

ABSTRACT

A system for establishing a boiler fluid set point includes a plurality of input devices providing input values for a plurality of different portions of a heating system and a controller determining that during a period of time there was always at least one input value that deviated from a set point for the input value by more than a threshold amount and in response, the controller increasing the boiler fluid set point.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is based on and claims the benefit of U.S. provisional patent application Ser. No. 61/928,698, filed Jan. 17, 2014, the content of which is hereby incorporated by reference in its entirety.

BACKGROUND

The operating efficiency of a condensing type boiler is dependent upon the fluid flow rate and fluid temperatures into and out of the boiler. A percentage of the flue gas resulting from burning fuel contains water vapor. The water vapor contains some sensible and latent heat or latent energy. Each pound of fluid vapor that is condensed in the boiler(s) or a condensing economizer associated with the boiler(s) adds roughly 1000 BTU's to the hydronic system and thereby lowers the amount of fuel that is required to maintain the boiler's operational temperature set point.

The amount of vapor condensed is related to the dew point of the flue gas and the temperature difference between the fluid temperatures in the boiler, particularly the colder inlet fluid, and the dew point of the flue gas. The greater the fluid temperatures are below the combustion gas dew point, the greater is the amount of condensate produced. The boiler fluid temperature set point, also referred to simply as the set point or boiler fluid set point, that provides the highest amount of condensate, and the highest boiler system efficiency, is that set point which provides the lowest possible boiler fluid temperature at the output of the boiler that is sufficiently high enough to main the proper air temperature in each space of the facility being heated.

The terminal units, the devices that put heat into heated spaces, need a certain minimum temperature in order to accomplish their purpose of adding sufficient heat to a given space to provide the desired temperature in the space. The desired temperature, or set point, in the space is established by a thermostat or control with a temperature sensor in the individual space. In a hydronic heating system, there can be one or multiple thermostats, each with a common or unique set point.

The heating fluid piping in a hydronic heating system can be installed in several ways. One way is to have all of the fluid in the system flow through the boiler or boilers. Another way is to use primary and secondary piping. The boilers are installed in the primary loop and provide heat to one or more secondary loops. Terminal heating units are installed in the secondary loops. Each secondary loop can have the same or unique set points. The primary loop temperature set point, identical to the boiler fluid set point, can be varied as well.

The boiler fluid set point can be established either manually or automatically. A commonly used automatic method is generally called outdoor reset in which a linear curve of set points is established at various outdoor ambient temperatures. Since terminal units are required to release more heat when the ambient is colder, the boiler fluid set point is raised in proportion to falling ambient (outdoor) temperatures in accordance to the established curve of set points.

SUMMARY

A system for establishing a boiler fluid set point includes a plurality of input devices providing input values for a plurality of different portions of a heating system and a controller determining that during a period of time there was always at least one input value that deviated from a set point for the input value by more than a threshold amount and in response, the controller increasing the boiler fluid set point.

A controller in a heating system changes a boiler fluid set point, stores the changed boiler fluid set point together with an outside temperature and uses the stored changed boiler fluid set point and the stored outside temperature to generate a reset curve used to establish a boiler fluid set point when starting a boiler system.

A controller in a heating system identifies input devices that prevent the controller from lowering a boiler fluid set point and generates a log providing a list of such input devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 provides a simplified block diagram of a facility in accordance with some embodiments.

FIG. 2: provides a simplified block diagram of a facility in accordance with further embodiments.

FIG. 3 provides a block diagram of a portion of a facility with a parallel input device in accordance with a third embodiment.

FIG. 4 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 3.

FIG. 5 provides a block diagram of a portion of a facility with a serial input device in accordance with a fourth embodiment.

FIG. 6 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 5.

FIG. 7 shows a block diagram of a portion of a facility with a parallel input device and a constant speed pump in accordance with a fifth embodiment.

FIG. 8 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 7.

FIG. 9 shows a block diagram of a portion of a facility with a serial input device and a constant speed pump in accordance with a sixth embodiment.

FIG. 10 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 9.

FIG. 11 provides a block diagram of portions of a facility with a three-way diverting valve and a parallel input device in accordance with a seventh embodiment.

FIG. 12 provides a system curve showing the relationship between flow and differential pressure for the embodiment of FIG. 11.

FIG. 13 provides a block diagram of portions of a facility with a three-way diverting valve and a serial input device in accordance with a seventh embodiment.

FIG. 14 provides a system curve showing the relationship between flow and differential pressure for the embodiment of FIG. 13.

FIG. 15 provides a block diagram of a portion of a facility that uses a pump and a three-way diverting valve in accordance with an eighth embodiment.

FIG. 16 provides a system curve showing the relationship between flow and differential pressure for the embodiment of FIG. 15.

FIG. 17 provides a block diagram of a portion of a facility that uses a pump and a three-way diverting valve in accordance with a ninth embodiment.

FIG. 18 provides a system curve showing the relationship between flow and differential pressure for the embodiment of FIG. 17.

FIG. 19 provides a graph showing the relationship between applied heating percentage for a space and a signal sent to a device to control the percentage of heating applied to the space.

FIG. 20 provides a graph showing the relationship between applied heating percentage for a space and a percent of the time that a signal sent to an on/off device causes the device to be on.

FIG. 21 provides a block diagram that generalizes the facilities of FIGS. 1, 2, 3, 5, 7, 9, 11, 13, 15, and 17.

FIG. 22 provides a flow diagram of a method performed by a boiler set point algorithm to adjust a boiler fluid set point in accordance with one embodiment.

FIG. 23 provides a flow diagram of a method of identifying input devices that should not be used to adjust boiler fluid set point and for identifying input devices that should be added back to the list of input devices that are used to adjust the boiler set point.

FIG. 24 provides a flow diagram of a method of generating a change log for a boiler fluid set point.

FIG. 25 provides a flow diagram for generating a controller-determined reset curve.

FIG. 26 provides a graph showing a base reset curve and a controller-determined reset curve.

FIG. 27 is a block diagram of a computing device that can implement the controller functions.

DETAILED DESCRIPTION

Embodiments provide a system and method establish the lowest boiler fluid set point that provides a desired temperature in all of the spaces heated by a hydronic heating system. Control is based upon gathering a plurality of inputs that are indicative of if the current boiler fluid set point is too low to adequately maintain the desired space temperatures in a facility or too high and therefore inefficient. Each of the various inputs is compared to a set point for each input device and a deviation from set point is calculated.

If the deviation for any input device is greater than a programmable value for a programmable period of time, the boiler fluid set point is increased. If none of the input device deviations are outside the programmable value for a programmable period of time, the boiler fluid set point is decreased. The programmable period of time can be either manually set or the control can calculate it based upon the time period measured for a change in boiler fluid supply temperature to affect the boiler fluid return temperature. The optimization establishes the lowest possible boiler fluid set point temperature and highest possible boiler system efficiency that provides adequate comfort heat.

The system records or stores the temperature of each space (if data is provided), the deviation from set point for each space's set point, the deviation from set point of other input devices such as a flow meter, the boiler inlet and outlet fluid temperatures, fuel flow amount, boiler fluid flow rate, individual loop flow rates, pump speeds, differential pressures, and the fuel BTU's consumed in the boiler(s). The control uses the stored values to generate a report that indicates the spaces and input devices that most often prevent the boiler fluid set point from being lowered. The report is used to change components or make adjustments to control settings so that the space(s) operate in such a way to provide adequate heat to the space(s) at a lower fluid temperature. Examples of this can be pump or control valve sizes, fan speed or plugged filters.

The control uses historical data from the use of the optimization of boiler fluid set points to establish a baseline of optimized set points based upon time of day, day of week and ambient temperature, for example. The control can utilize that reset curve of boiler temperature set points after power is restored following a power failure or as a baseline of boiler temperature set points that is further optimized based on real time operation.

FIG. 1 provides a simplified block diagram of a facility 100 in which embodiments may be practiced. Facility 100 includes one or more boilers 102 that receive a fluid at an inlet 106, heat the received fluid, and provide a heated fluid at an outlet 104. By way of example, and not limitation, boiler 102 can include one or more of a fire-tube boiler, water-tube boiler, cast-iron boiler, cast-aluminum boiler, and a hybrid or combination boiler having fire-tube and water-tube sections, for example. In many embodiments, boiler 102 is a condensing-type boiler that condenses flue gases to extract heat from the flue gases. Boiler inlet 106 and boiler outlet 104 are connected to a primary loop 108 that carries the fluid from boiler outlet 104 to one or more secondary loops, such as secondary loop 112, and back to inlet 106. In accordance with some embodiments, a pump 110 moves the fluid through primary loop 108. As used herein, “primary loop” refers to a fluid line or path that is connected to one or more units that are configured to heat fluid (e.g., fuel burning units (such as boilers) and/or heat recovery units (such as condensers)). As used herein, “secondary loop” refers to a fluid line or path that is connected to end-use points for the fluid, such as one or more terminal units. A secondary loop can comprise a closed fluid circuit or an open fluid circuit. For example, a secondary loop can be connected to terminal unit(s) that are configured to use fluid in the secondary loop that is not returned to the secondary loop.

Secondary loop 112 is selectively connected to primary loop 108 by a loop coupling 114 such that heat from primary loop 108 is coupled to secondary loop 112. Loop coupling 114 can include thermal coupling and/or fluidic coupling. In thermal coupling, a heat exchange or thermal transfer is used to transfer heat from primary loop 108 to secondary loop 112 while keeping the fluid of primary loop 108 separate from the fluid of secondary loop 112. In fluidic coupling, valves are used to selectively admit heated fluid from primary loop 108 into secondary loop 112.

In secondary loop 112, a pump 116 moves fluid through the loop so that it reaches terminal units 118. A terminal unit can include any device configured to perform a function using the fluid. For example, a terminal unit can include a device configured to heat a space or a process using the heat from the fluid, such as a radiator, unit ventilator, air handling unit, and the like. In another example, a terminal unit can include a device configured to perform a cleaning or washing function.

A controller 120 is provided that determines a boiler temperature set point for boiler 102. The boiler temperature set point is the temperature for the fluid at outlet 104 of boiler 102. As discussed further below, the boiler temperature set point can be determined in a number of ways. In accordance with some embodiments, the boiler temperature set point is set based in part on values generated by one or more parallel input devices 122 in secondary loop 112 and/or one or more serial input devices 124 in secondary loop 112. A parallel input device 122 is positioned in parallel with terminal units 118 of secondary loop 112, while a serial input device 124 is positioned in series with terminal units 118.

In other embodiments, controller 120 determines boiler set points based on one or more of a temperature of the fluid at boiler outlet 104 as determined by a temperature sensor 126, a temperature of the fluid at boiler inlet 106 as determined by temperature sensor 128, an amount of fuel used by boiler 102 as determined by fuel meter 130, and a flow of the fluid through primary loop 108 as determined by flow meter 132.

In accordance with one embodiment, controller 120 also determines BTU usage and system efficiency. In such embodiments, the percentage and type of glycols used (if any) are manually inputted by a user. BTU's absorbed by the boiler(s) is accomplished using the fluid properties of the boiler fluid, the flow rate of the boiler fluid provided by flow meter 132, and the temperatures provided by temperature sensors 126 and 128. Instantaneous BTU usage of fuel supplied to the boiler burner(s) is supplied to controller 120 by fuel meter 130. Controller 120 calculates the net thermal efficiency of the boilers by dividing the BTU's absorbed by the boiler(s) by the BTU's of fuel consumed by the boiler(s). The efficiency is calculated regardless of the method used to designate the boiler fluid set point.

FIG. 2 provides an alternative facility 200 in which facility 100 of FIG. 1 has been expanded to include two additional secondary loops 222 and 250, that are coupled to primary loop 108 by respective loop couplings 214 and 244. Loop couplings 214 and 244 may be either thermal couplings or fluidic couplings as discussed above for loop coupling 114. Secondary loop 222 includes a pump 216 that pumps fluid through terminal units 218, and secondary loop 250 includes a pump 246 that pumps fluid through terminal units 248. Terminal units 218 and 248 can be any device configured to perform a function using the fluid. For example, a terminal unit can include a device configured to heat a space or a process using the heat from the fluid, such as a radiator, unit ventilator, air handling unit, and the like. In another example, a terminal unit can include a device configured to perform a cleaning or washing function.

Secondary loops 222 and 250 also include parallel input devices 232 and 252, which are parallel to their respective terminal units 218 and 248. Secondary loops 222 and 250 also include serial input devices 224 and 254, which are connected in series with their respective terminal units 218 and 248. Controller 120 receives values from parallel input devices 232 and 252 and/or serial input devices 224 and 254 either wirelessly or through a wired connection. One example of an input device is a thermostat in a heated space whose actual temperature is transmitted to controller 120.

FIG. 3 provides a block diagram of a portion of a facility 300 with a parallel input device in accordance with a third embodiment. In FIG. 3, a primary loop 301 is coupled to four secondary loops 302, 304, 306, and 308 by three respective coupling valves 312, 314, 416, and 318, which act as loop couplings. A parallel input device 310 extends in parallel across each of secondary loops 302, 304, 306, and 308. In the embodiment of FIG. 3, parallel input device 310 takes the form of a differential pressure sensor that provides a value indicative of the pressure difference between the output of variable speed pump 330 of primary loop 301 and return line 332, which returns to the boiler (not shown). As shown in FIG. 3, a reduction in the differential pressure value is associated with an increase in the flow through terminal units 320, 322, 324, and 326 serviced by variable speed pump 330. This increase in flow is triggered by one or more of valves 312, 314, 316, and 318 being opened further or cycled more often in order to pump more fluid through the terminal units to raise the temperature of the spaces serviced by the terminal units. If the differential pressure remains below a trigger threshold, it is an indication that the boiler fluid set point may be too low to heat the space.

FIG. 4 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 3. In FIG. 4, flow is shown on horizontal axis 402 and differential pressure from the outlet of pump 330 to return line 332 is shown on vertical axis 404. Graphs 406, 408, and 410 provide pump curves for three different speeds of variable speed pump 330. As shown by graphs 406, 408, and 410, increased differential pressure is associated with a reduction in flow rate for any given speed of pump 330. Graphs 412, 414, and 416 are system curves that show the total flow as a function of differential pressure for various states of the valves. Graph 412 shows the total flow as a function of the differential pressure with all valves closed all the time. Graph 414 shows the total flow as a function of the differential pressure with all valves open all the time. Comparing graph 412 to graph 414 it can be seen that with more valves open, there will be greater flow for the same amount of differential pressure. Graph 416 shows the total flow as a function of the differential pressure with the valves open a desired amount.

When the valves are opened a desired amount, the flow follows graph 416 and the variable speed pump operates along curve 408. The intersection of these two graphs corresponds to a differential pressure set point 420 for input device 310. When the valves are all open, indicating that the spaces serviced by terminal units 320, 322, 324, and 326 are not warming enough, the total system flow follows graph 414 and the pump speeds up to follow pump curve 406. The intersection of graphs 414 and 406 corresponds with a deviated pressure value 422 for input device 310. The difference between deviated pressure value 422 and set point pressure value 420 is a pressure deviation 430.

FIG. 5 provides a block diagram of a portion of a facility 500 in accordance with a fourth embodiment. Facility 500 is similar to facility 300 except that differential pressure transmitter 310 has been removed and serial input device 502 has been added at the outlet of variable speed pump 330. In FIG. 5, serial input device 502 is a flow meter that provides a measure of the fluid flow through primary loop 301 and secondary loops 302, 304, 306, and 308. FIG. 6 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 5. In particular, FIG. 6 shows pump curve graphs 606, 608, and 610 and system curves 612, 614, and 616. The intersection of graphs 616 and 608 occurs when the valves are open a desired amount and the intersection of graphs 614 and 606 occurs when the valves are open all the time indicating that spaces serviced by terminal units 320, 322, 324, and 326 are not receiving enough heat. The intersection of graphs 616 and 608 corresponds to a flow value 600 from input device 502 and the intersection of graphs 614 and 606 corresponds to a flow value 602 from input device 502. The difference between flow value 600 and flow value 602 is a deviation 604.

FIG. 7 provides a block diagram of a portion of a facility 700 in accordance with a fifth embodiment. Facility 700 is formed by replacing variable speed pump 330 of FIG. 3 with a constant speed pump 702. All the remaining elements of FIG. 7 are the same as FIG. 3. FIG. 8 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 7. Graph 800 is the relationship between flow and differential pressure when valves 312, 314, 316, and 318 are opened a desired amount and graph 802 is the relationship between flow and differential pressure when valves 312, 314, 316, and 318 are opened more than the desired amount. In FIG. 8, only a single pump curve 804 is provided since constant speed pump 702 can only operate at a single speed. The intersection of graph 800 and graph 804 occurs when the valves are opened a desired amount and corresponds with a set point differential pressure 806. The intersection of graph 802 and graph 804 occurs when the valves are open more than desired and corresponds to a deviated differential pressure 808. The difference between set point 806 and deviated pressure 808 is pressure deviation 810.

FIG. 9 shows a block diagram of a portion of a facility 900 with a serial input device and a constant speed pump in accordance with a sixth embodiment. Facility 900 that is formed by replacing variable speed pump 330 of FIG. 5 with a constant speed pump 902. All the remaining elements of FIG. 9 are the same as FIG. 5. FIG. 10 provides pump curves and system graphs showing the relationships between flow and differential pressure for the embodiment of FIG. 9. System curve 1000 is the relationship between flow and differential pressure when valves 312, 314, 316, and 318 are opened a desired amount and system curve 1002 is the relationship between flow and differential pressure when valves 312, 314, 316, and 318 are opened more than the desired amount. In FIG. 10, only a single pump curve 1004 is provided since constant speed pump 902 can only operate at a single speed. The intersection of graph 1000 and graph 1004 occurs when the valves are opened a desired amount and corresponds with a set point flow 1006. The intersection of graph 1002 and graph 1004 occurs when the valves are open more than desired and corresponds to a deviated flow 1008. The difference between set point 1006 and deviated flow 1008 is flow deviation 1010.

FIG. 11 provides a block diagram of portions of a facility 110 with a three-way diverting valve 1102 and a parallel input device 1108 in accordance with a seventh embodiment. Three-way diverting valve 1102 controls how the fluid from the boiler is divided between a return line 1106 and a terminal unit 1104. Parallel input device 1108 is placed in parallel across terminal unit 1104 and provides differential pressure values to controller 120. FIG. 12 provides a system curve 1200 showing the relationship between flow and differential pressure for the embodiment of FIG. 11. In particular, system curve 1200 shows the relationship between flow and differential pressure across terminal unit 1104. As shown in FIG. 12, when valve 1102 directs a desired amount of fluid flow through terminal unit 1104, the differential pressure has a set point value 1202. When terminal unit 1104 is unable to heat the space adequately, valve 1102 directs more than the desired amount of fluid flow through terminal units 1104 resulting in a deviated differential pressure 1204. The difference between set point value 1202 and deviated differential pressure 1204 is a pressure deviation 1206.

FIG. 13 provides a block diagram of portions of a facility 1300 with a three-way diverting valve 1302 and a serial input device 1308 in accordance with a seventh embodiment. Three-way diverting valve 1302 controls how the fluid from the boiler is divided between a return line 1306 and a terminal unit 1304. A serial input device 1308 is placed in series between tree-way diverting valve 1302 and terminal unit 1304 and provides flow values to controller 120. FIG. 14 provides a system curve 1400 showing the relationship between flow and differential pressure for the embodiment of FIG. 13. In particular, system curve 1400 shows the relationship between flow and differential pressure across terminal unit 1304. As shown in FIG. 14, when valve 1302 directs a desired amount of fluid flow through terminal unit 1304, the flow has a set point value 1402. When terminal unit 1304 is unable to heat the space adequately, valve 1302 directs more than the desired amount of fluid flow through terminal unit 1304 resulting in a deviated flow 1404. The difference between set point value 1402 and deviated flow 1404 is a flow deviation 1406.

FIG. 15 provides a block diagram of a portion of a facility 1500 that uses a pump 1502 and a three-way diverting valve 1504 to control the fluid flow through a terminal unit 1506 in accordance with an eighth embodiment. A parallel input device in the form of differential pressure transmitter 1508 extends across terminal unit 1506. Differential pressure transmitter 1508 produces a differential pressure value that is provided to controller 120. FIG. 16 provides a system curve 1600 showing the relationship between flow and differential pressure for terminal unit 1506 of FIG. 15. When valve 1504 and pump 1502 direct a desired amount of the boiler fluid through terminal unit 1506, the differential pressure is at a set point 1602. When valve 1504 and pump 1502 direct more than the desired amount of the boiler fluid through terminal unit 1506, the differential pressure is at a deviated pressure value 1604. The difference between set point value 1602 and deviated value 1604 is deviation 1606.

FIG. 17 provides a block diagram of a portion of a facility 1700 that uses a pump 1702 and a three-way diverting valve 1704 to control the fluid flow through a terminal unit 1706 in accordance with a ninth embodiment. A serial input device in the form of flow meter 1708 is positioned in series between three-way diverting valve 1704 and terminal unit 1706. Flow meter 1708 produces a flow value that is provided to controller 120. FIG. 18 provides a system curve 1800 showing the relationship between flow and differential pressure for terminal unit 1706 of FIG. 17. When valve 1704 and pump 1702 direct a desired amount of the boiler fluid through terminal unit 1706, the flow through terminal unit 1706 is at a set point 1802. When valve 1704 and pump 1702 direct more than the desired amount of the boiler fluid through terminal unit 1706, the differential pressure is at a deviated pressure value 1804. The difference between set point value 1802 and deviated value 1804 is deviation 1806.

FIG. 19 shows a graph 1900 showing the relationship between applied heating percentage for a space and a signal sent to a device to control the percentage of heating applied to the space. The signal may be sent by a Building Maintenance System (BMS) to control a device such as an analog control valve, pump speed, fan speed or dampers, for example. Although the signal is generated by the Building Management System, the input device is considered to be the device that is being controlled by the signal. For instance, if a fan is being controlled by the control signal, the fan is the input device for the controller and the control signal to the fan is the input value for controller 120. As shown in FIG. 19, when the signal produces a desired percentage of possible applied heating, the signal is at a set point 1902. When the signal produces more than the desired percentage of applied heating it is at a deviated value 1904. The difference between set point 1902 and deviated value 1904 is a deviation 1906.

FIG. 20 shows a graph 2000 showing the relationship between applied heating percentage for a space and a percent of the time that a signal sent to an on/off device causes the device to be on. The signal may be sent by a Building Maintenance System (BMS) to control an on/off device such as an on/off valve, an on/off pump, an on/off fan or an on/off damper, for example. Although the signal is generated by the Building Management System, the input device is considered to be the device that is being controlled by the signal. For instance, if a fan is being controlled by the control signal, the fan is the input device for the controller and the control signal to the fan is the input value for controller 120. As shown in FIG. 20, when the signal produces a desired applied heating percentage, the signal is cycling the device on at a set point percentage 2002. When the signal produces more than desired applied heating percentage, the signal is cycling the device on at a deviated percentage 2004. The difference between set point 2002 and deviated value 2004 is a deviation 2006.

FIG. 21 provides a block diagram that generalizes the facilities of FIGS. 1, 2, 3, 5, 7, 9, 11, 13, 15, and 17 shown above. In FIG. 21, controller 120 is shown with input device(s) 2100, a Building Management Control System (BMS) 2102 and a boiler 102. Input device(s) 2100 include any one of the parallel or serial input devices discussed above as well as thermostats and other temperature sensors placed in a space or device serviced by a terminal unit.

Controller 120 includes a memory 2104, which stores a number of records including input device records 2106, boiler set point change records 2108, and efficiency records 2110. Input device record 2106 stores values associated with an input device that are used to determine whether input values from the input device are currently being used to adjust a boiler set point 2126, when an input value from the input device should be used to adjust boiler set point 2126, and whether the input device should be dropped from being used to adjust boiler set point 2126. Boiler set point change records 2108 store information related to an adjustment in boiler set point 2126 and efficiency records 2110 store information used to determine the efficiency of the boiler.

FIG. 22 provides a flow diagram of a method performed by a boiler set point algorithm 2124 in controller 120 to adjust boiler fluid set point 2126 in accordance with one embodiment. At step 2200, a separate input device record 2106 is created for each input device 2100, with each record having a unique input device ID 2111. In accordance with one embodiment, each input device is associated with a space or area and a name of the space is stored as space name 2113. Within each created input device record 2106, an input device set point is stored as set point 2112. Set point 2112 represents a desired value for the input signal from the input device. For example, for a temperature sensor input device, set point 2112 would be the desired temperature of the space where the temperature sensor is located.

At step 2202, input values are received by controller 120 from one or more of the input devices 2100. At step 2204, the difference between the value received at step 2202 and set point 2112 is calculated to form a deviation value for each input device. The deviation value is calculated such that it is positive when the boiler fluid set point is too low. For example, when the input device is a temperature sensor, the deviation would be calculated such that it is a positive value when the temperature in the space is below set point 2112.

At step 2206, the deviation value of each input device is compared to a respective deviation trigger value 2114 in the input device's record 2106. If any of the deviation values calculated in step 2204 exceeds the respective deviation trigger value 2114, a Raise Set Point timer 2116 is started in controller 120 at step 2208. Raise Set Point” timer 2208 is set to expire at a desired amount of time that is selected to allow the deviations to drop below the deviation trigger values without increasing the boiler fluid set point. At step 2210, a Lower Set Point timer 2118 is stopped and reset if it is currently running. The purpose of Lower Set Point timer 2118 is discussed further below.

At step 2214, boiler set point algorithm 2124 determines if Raise Set Point timer 2116 has expired. If Raise Set Point timer 2116 has not expired, the process returns to step 2202 and new input device values are received. If the Raise Set Point timer 2116 has expired at step 2214, the boiler fluid set point 2126 is increased by a programmable amount as long as the current boiler fluid set point is less than a boiler fluid set point maximum 2120. In some embodiments, boiler fluid set point maximum 2120 is taken from a base reset curve 2132 which provides boiler fluid set points as a function of an outside air temperature. Using the current outside air temperature, boiler set point algorithm 2124 determines the associated boiler fluid set point from the base curve. This associated boiler fluid set point is then used as boiler set point maximum 2120.

After the boiler fluid set point has been increased at step 2216, Raise Set Point timer 2116 is reset at step 2218 and the process returns to step 2202, where new input device values are received.

If at step 2206, if none of the deviation values are greater than the deviation trigger values 2114, Lower Set Point timer 2118 is started or continued at step 2220. Lower Set Point timer 2118 is set to a period of time such that if no input devices have a deviation that exceeds their respective deviation trigger value 2214 during the time period, the boiler fluid set point may be higher than needed. At step 2222, Raise Set Point timer 2116 is stopped and reset if it is currently running because the fact that none of the input devices are exceeding their respective deviation trigger value 2214 means that the boiler fluid set point is not too low.

At step 2224, boiler set point algorithm 2124 determines if Lower Set Point timer 2116 has expired. If Lower Set Point timer 2116 has not expired at step 2224, the process returns to step 2202 and receives new input values. If Lower Set Point timer 2116 has expired at step 2224, boiler fluid set point 2126 is lowered by a programmable amount at step 2226 as long as the current boiler fluid set point is greater than a minimum boiler fluid set point. After boiler fluid set point 2126 has been lowered at step 2226, Lower Set Point timer 2118 is reset at step 2228 and the process returns to step 2202 to receive new input values.

Boiler set point algorithm 2124 may alternatively use a constant boiler set point 2128 as boiler fluid set point 2126 or may use a controller-determined reset curve 2130 or base reset curve 2132 to set the boiler fluid set point. Constant boiler set point 2128 is entered by a user through a user interface generated by controller 120. Controller-determined reset curves 2130 and base reset curve 2132 provide boiler fluid set points as a function of the outdoor temperature (also referred to as the ambient temperature). Using the current outdoor temperature, boiler set point algorithm 2124 determines the associated boiler fluid set point 2126 from controller-determined reset curve 2130 or base reset curve 2132 and sets the associated boiler fluid set point as boiler fluid set point 2126. A technique for establishing controller-determined reset curve 2130 is discussed further below.

In accordance with some embodiments, whenever the boiler set point is adjusted a set point change record 2108 is generated. Boiler set point change record 2108 includes parameters of the facility when the boiler set point was changed. These parameters include boiler inlet fluid temperature 2134, boiler outlet fluid temperature 2136, previous boiler set point 2138, temperature of all spaces 2140, deviation from set points for all spaces 2142, outdoor temperature 2144, adjusted boiler set point 2146, day of week 2148, date 2150, time 2152 and the input device ID 2154 of the input device or devices that cause the boiler set point to be changed. The parameters shown in set point change record 2108 are exemplary and more or fewer of the parameters may be stored.

In accordance with some embodiments, the input values from some input devices are not used to adjust the boiler set point. Examples of input devices that are not used include input devices that serve spaces that are not currently being heated or spaces with failed equipment such as failed controller valves, faulty thermostats, failed pumps or a failed fan, for example. Other examples include spaces that are exposed to outside air for prolonged periods of time such as loading docks where the terminal units cannot add enough heat to overcome the cold air entering the space.

FIG. 23 provides a flow diagram of a method of identifying and utilizing how often an input device causes the boiler set point to increase and how often the input device prevents the boiler set point from being reduced. As part of the method of FIG. 23, input devices are identified that should not be used to adjust the boiler set point. The process of FIG. 23 is performed on a per input device basis.

At step 2300, the process of FIG. 23 determines if the deviation of the input signal from the input device exceeds deviation trigger value 2114. If it does not exceed the trigger value, the process proceeds to step 2302 where it stops any duration timers that may be running. Initially, there are no duration timers running. After step 2302, the process returns to step 2300 and the loop between steps 2300 and 2302 is repeated until the deviation of the input signal exceeds input trigger value 2114 at step 2300.

When the deviation value exceeds deviation trigger value 2114, a duration timer 2156 (FIG. 21) is started at step 2301 if it is not currently running. Duration timer 2156 keeps track of the total amount of time that the deviation value of the input device exceeds deviation trigger value 2114.

At step 2303, controller 120 determines if Lower Set Point timer 2118 is currently running. If Lower Set Point timer 2118 is currently running, it means that no other input devices have a deviation value that exceeds their deviation trigger value. As a result, because the current input device has a deviation value that exceeds its deviation trigger value 2114, the current input device is responsible for preventing the boiler fluid set point from being reduced. As such, one is added to a Prevent Boiler Set Point Reduction Count 2167 (input device record 2106 of FIG. 21) at step 2305. Prevent Boiler Set Point Reduction Count 2167 keeps track of the number of times an input device prevented a reduction in the boiler fluid set point since the last time a boiler set point change log 2172 was generated.

After step 2305, or if Lower Set Point timer 2118 has not expired at step 2303, the process continues at step 2304 where the current deviation value of the input device is stored as initial deviation value 2158 in input device record 2106.

At step 2306, controller 120 determines a new deviation value for the input device and determines if this new deviation value is less than initial deviation value 2158. If the new deviation value is not less than initial deviation value 2158, the process continues at step 2308 where it determines if the boiler set point has been increased. If the boiler set point has not been increased, the process returns to step 2306 and a new deviation value is compared to initial deviation value 2158. The loop of steps 2306 and 2308 continues until the new deviation value is less than initial deviation value 2158 or the boiler set point is increased at step 2308.

When the boiler set point is increased to step 2308, a drop count 2160 in input device record 2106 is increased by one at step 2310. Drop count 2160 keeps track of the number of times that the input device was at least partially responsible for an increase in the boiler set point. At step 2312, the process determines if the current drop count is greater than a drop count threshold 2162 of input device record 2106. Drop count threshold 2162 represents the value of drop count 2160 that will cause the input device to be dropped from consideration by boiler set point algorithm 2124. If the drop count is not greater than the drop count threshold, the process returns to step 2308 and the loop of steps 2308 and 2306 are repeated.

If drop count 2160 exceeds drop count threshold 2162 at step 2312, the device is removed from boiler set point algorithm 2124 at step 2314 by setting the device as DROPPED in active/inactive field 2164 of input device record 2106. Active/inactive field 2164 can have values of DROPPED, ACTIVE, and manually set INACTIVE. The input values of an ACTIVE input device will be used in boiler set point algorithm 2124 while the input values of a DROPPED or manually set INACTIVE input device will not be used in boiler set algorithm 2124. An input device may be manually set as INACTIVE using a user interface.

After a device has been removed or dropped from consideration by boiler set point algorithm 2124 at step 2314, the method enters a loop at step 2316 where it waits to reinstate the dropped input device. In step 2316, new deviation values of the device are compared to initial deviation value 2158. As long as the new deviation values are not less than initial deviation value 2518, controller 120 will remain in loop 2316. However, once a new deviation value is less than initial deviation value 2518, the process will continue at step 2318 where active/inactive field 2164 will be changed to ACTIVE to reinstate the input device as part of boiler set point algorithm 2124. After a device is reinstated or if a new deviation value is less than initial deviation value 2518 at step 2306, the current value of drop count 2160 is added to a boiler set point increase count 2168 and drop count 2160 is reset at step 2320. Boiler set point change count 2168 keeps track of the number of times the input device caused a boiler set point increase since a last time a boiler set point change log 2172 was generated. After step 2320, the process returns to step 2300 to determine if a new input device deviation value exceeds device trigger value 2114. If the new deviation value exceeds the device trigger value, the process continues at step 2301 and the steps that follow thereafter. If the new deviation value does not exceed the trigger value at step 2300, step 2302 is performed where the current duration time of duration timer 2156 is added to deviation time 2166 and duration timer 2156 is stopped and reset. Deviation time 2166 keeps track of the amount of time that the deviation of the input device has exceed the deviation trigger value since the last time that boiler set point change log 2172 was generated.

In accordance with some embodiments, a dropped device log 2170 is generated periodically or in response to a request made by a user through a user interface. A typical time span for periodically generating dropped device log 2170 would be every 24 hours. Dropped devices log 2170 lists all the devices with an active/inactive field 2164 set to DROPPED and may include input device ID 2111 and/or space name 2113 of each DROPPED device. Dropped devices log 2170 may be communicated to the user through any variety of means including a touchscreen of a human-machine interface, an email or some other communication means. The log can be written to a comma separated value (CSV) file on a removable media and/or stored in controller 120's memory 2104. Dropped devices log 2170 may be generated by a log generator 2174 which produces a log user interface 2176 that can be used to request the generation of dropped devices log 2170.

Log generator 2174 can also generator boiler set point change log 2172 using the process shown in the flow diagram of FIG. 24. At step 2400, log generator 2174 starts a data log timer 2178. After data log timer 2178 is started, controller 120 adjusts the boiler set point based on deviation values for the input devices and stores the boiler set point information in set point change records 2108 and input device records 2106. This is shown as step 2402 in FIG. 24. At step 2404, data log timer 2178 expires or the user calls for the creation of boiler set point change log 2172 using log user interface 2176. At step 2406, log generator 2174 identifies all the input devices that either caused the boiler set point to increase or prevented the boiler set point from being decreased by examining boiler set point increase count 2168 and prevent boiler set point reduction count 2167 of each input device record 2106.

At step 2408, log generator 2174 ranks the input devices on one or more measures such as deviation time 2166, boiler set point change count 2168 and prevent boiler set point reduction count 2167. In some embodiments, multiple ranked lists are provided, each ranked on a separate measure. In other embodiments, boiler set point change log 2172 is presented as an interactive user interface in which a user may select the parameter that is to be used to rank the input devices. In response to this selection, the user interface adjusts the list to show the input devices ranked according to the newly selected parameter. The input devices are identified in the ranked list by either the input device ID 2111 or space name 2113.

Boiler set point change log 2172 may be communicated to the user through any variety of means including a touchscreen of a human-machine interface, an email or some other communication means. The log can be written to a comma separated value (CSV) file on a removable media and/or stored in controller 120's memory 2104.

At step 2410, deviation time 2168, boiler set point change counter 2168, and prevent boiler set point reduction count 2167 of each input device are reset to 0. In addition, data log timer 2178 is reset to 0. The process then returns to step 2400 to restart data log timer 2178.

In some embodiments, log generator 2174 also produces a boiler efficiency log 2180. A separate entry is added to boiler efficiency log 2180 periodically, such as every hour. To produce a log entry for boiler efficiency log 2180, controller 120 determines BTU usage and system efficiency. In such embodiments, the percentage and type of glycols used (if any) are manually inputted by a user and stored in an efficiency record 2110 in memory 2104 as glycol parameters 2182. Similarly, fluid properties of the boiler fluid are received from the user and are stored as boiler fluid properties 2183. Every hour, the flow rate of the boiler fluid as provided by flow meter 132 is stored as boiler fluid flow 2188 in an efficiency record 2110. The temperatures provided by temperature sensors 126 and 128 are stored as boiler outlet fluid temp 2184 and boiler inlet fluid temp 2182, respectively, in efficiency record 2110. The amount of fuel supplied to the boiler burner(s) as indicated by fuel meter 130, is stored as fuel flow 2190. When boiler efficiency log 2180 is written, controller 120 determines a BTU usage of fuel by the boiler burner(s) using fuel flow 2190 and glycol parameters 2182. Controller 120 also determines BTU's absorbed by the boiler(s) using fluid properties 2183 of the boiler fluid, flow rate 2188 of the boiler fluid, boiler outlet fluid temp 2186 and boiler inlet fluid temp 2184. Controller 120 calculates the net thermal efficiency of the boilers by dividing the BTU's absorbed by the boiler(s) by the BTU's of fuel consumed by the boiler(s). Controller 120 also records the method used to designate the boiler fluid set point when the efficiency was calculated. The efficiency is calculated regardless of the method used to designate the boiler fluid set point.

In some embodiments, controller 120 also determines the controller-determined reset curve 2130. A reset curve provides initial boiler set points when controller 120 has been restarted and before controller 120 receives input values from input devices 2100. As noted above, reset curves 2130 and 2132 provide values for boiler set point 2126 for different outdoor (ambient) temperatures.

FIG. 25 provides a flow diagram for generating a controller-determined reset curve 2130. At step 2500, controller 120 creates a set point change record 2108 for each adjustment of the boiler temperature set point. Each boiler set point change record 2108 includes information such as the boiler input fluid temperature 2134, the boiler outlet fluid temperature 2136, the previous boiler set point 2138, the temperature of all spaces 2140, the deviation from the set point of all spaces 2142, the outdoor temperature 2144, the adjusted boiler set point 2146, the day of the week 2148, the date 2150, the time 2152, the input device ID 2154 of the device that caused the boiler temperature set point change, and the space name 2155 of the space or area serviced by the input device.

At step 2502, controller 120 receives or retrieves reset curve bin definitions 2180. Reset curve bin definitions 2180 define sets of parameter values used to group boiler fluid set point changes. The bin definitions may be based on more than one parameter. For example, multiple bins may be defined for each day of the week with each bin for a day of a week being defined for a separate range of temperatures. Thus, there would be multiple bins for Tuesdays, with one bin for an outdoor temperature range of 30° F. to 50° F. and another bin for an outdoor temperature range of 51° F. to 65° F., for example. Similarly, there would be multiple bins defined for Wednesdays, with one bin for an outdoor temperature range of 30° F. to 50° F. and another bin for an outdoor temperature range of 51° F. to 65° F., for example. There would be additional bins for each day for other temperature ranges. Additional parameters may be used to define additional bins such as defining bins based time of day in addition to the day of the week and the temperature range.

At step 2504, each adjusted boiler temperature set point is assigned to one of the bins defined by reset curve bin definitions 2180. To assign an adjusted boiler temperature set point, the values in set point change record 2108 are used to identify the appropriate bin. For example, if the bins are defined based on the day of the week and the outdoor temperature, day of the week value 2148 and outdoor temperature value 2144 of the set point change record would be used to identify which bin set point change record 2108 should be associated with.

After all of the boiler temperature set point adjustments have been assigned to a bin, a bin is selected at step 2506 and the bin is examined at step 2508 to determine if there is at least one adjusted boiler temperature set point in the bin. If there are no adjusted boiler temperature set points in the bin, the current reset point for the bin is kept at step 2510. The current reset point can be a base reset point that is set when the bin is defined at step 2502 or could be the latest reset point found in controller-determined reset curve 2130. If the current reset point is kept at step 2510, the process returns to step 2512 where it determines if there are more bins. If there are more bins, the process returns to step 2506 to select a new bin.

If there is at least one adjusted boiler temperature set point in the bin at step 2508, the process continues at step 2514 where it determines a candidate reset point for the bin from the adjusted boiler set points in the bin. The candidate reset point for the bin can be the maximum adjusted boiler temperature set point, the average adjusted boiler temperature set point or the median adjusted boiler temperature set point, for example. At step 2516, the candidate reset point for the bin is compared to the current reset point for the bin. If the candidate reset point for the bin is greater than the current reset point for the bin, the current reset point for the bin is kept at step 2510. If the candidate reset point for the bin is not greater than the current reset point for the bin, the candidate reset point is made the new reset point for the bin at step 2518. After step 2518, the process returns to step 2512 to see if there are more bins. When there are no more bins at step 2512, controller 120 defines one or more controller-determined reset curves 2130 from the bin reset points at step 2520. In accordance with one embodiment, if multiple parameters define the bins, multiple curves can be generated. In general, each curve provides boiler temperature set points as a function of the ambient temperature or the time of day, for example. The curves are formed by associating the boiler temperature reset point of each bin with a central point of the bin such as a median temperature of the bin or a median time for the bin. Lines connecting the combination of the boiler temperature reset point and the median value of the bin are then created to thereby produce the controller-determined reset curves 2130.

FIG. 26 provides a graph showing a base reset curve 2600 and a controller-determined reset curve 2602, which both show the relationship between outdoor air temperature 2604 and a boiler temperature set point 2606. As shown in FIG. 26, the controller-determined reset curve 2130 has lower boiler temperature set points than base reset curve 2132. Since controller-determined reset curve 2130 is based on the optimization steps of FIG. 22, it produce lower boiler temperature reset points than base reset curve 2132. As a result, the facility will initially start with lower boiler temperature set points and thus be more efficient earlier in its operation than previous heating facilities.

By taking into consideration more than just the outdoor temperature, the controller-determined reset curves 2150 described above are more efficient than base reset curves that are just based on outdoor temperatures. For example, a school building is unoccupied during portions of each day and certain days of each week. Internal heat gains and external heat losses will therefore vary widely over time during the day and will be different on different days of the week. For example, on Sunday at 8:00 a.m. the building is empty, the ventilation load is set to minimum, the space set point values have been lowered by the BMS. The control establishes a controller-determined reset point of 120° F. to maintain all of the space temperatures. But on Monday at 8:00 a.m. the building becomes populated, the ventilation load is set to maximum fresh air and the space set point values have been raised by the BMS. The control establishes a controller-determined reset point of 140° F. to maintain all of the space temperatures. In order to form the controller-determined reset point, bins were defined for each combination of a day of the week, a time range during the day, and an outdoor temperature range. This allows a separate controller-determined reset curve to be created for each combination of the day of the week and the time range thereby providing more accurate and more efficient reset points.

An example of a computing device that can be used as the controller 120 or the Building Management Control System 2102 to implement the functions described above is shown in the block diagram of FIG. 27. The computing device 10 of FIG. 27 includes a processing unit 12, a system memory 14 and a system bus 16 that couples the system memory 14 to the processing unit 12. System memory 14 includes read only memory (ROM) 18 and random access memory (RAM) 20. A basic input/output system 22 (BIOS), containing the basic routines that help to transfer information between elements within the personal computer 10, is stored in ROM 18.

Embodiments described above can be applied in the context of computer systems other than personal computer 10. Other appropriate computer systems include handheld devices, multi-processor systems, various consumer electronic devices, mainframe computers, and the like. Those skilled in the art will also appreciate that embodiments can also be applied within computer systems wherein tasks are performed by remote processing devices that are linked through a communications network (e.g., communication utilizing Internet or web-based software systems). For example, program modules may be located in either local or remote memory storage devices or simultaneously in both local and remote memory storage devices. Similarly, any storage of data associated with embodiments of the present invention may be accomplished utilizing either local or remote storage devices, or simultaneously utilizing both local and remote storage devices.

Computer 10 further includes a hard disc drive 24, non-volatile solid-state memory 25 an external memory device 28, and an optical disc drive 30. External memory device 28 can include an external disc drive or solid state memory that may be attached to computer 10 through an interface such as Universal Serial Bus interface 34, which is connected to system bus 16. Optical disc drive 30 can illustratively be utilized for reading data from (or writing data to) optical media, such as a CD-ROM disc 32. Hard disc drive 24 and optical disc drive 30 are connected to the system bus 16 by a hard disc drive interface 32 and an optical disc drive interface 36, respectively. The drives, solid-state memory and external memory devices and their associated computer-readable media provide nonvolatile storage media for the personal computer 10 on which computer-executable instructions and computer-readable data structures may be stored. Such computer-executable instructions can include instructions for performing any of the steps described in the methods above. Other types of media that are readable by a computer may also be used in the exemplary operation environment.

A number of program modules may be stored in the drives and RAM 20, including an operating system 38, one or more application programs 40, other program modules 42 and program data 44. In particular, application programs 40 can include the programs for increasing the boiler fluid set point as described above, decreasing the boiler fluid set point as described above, removing an input device from consideration when determining whether to increase or decrease the boiler fluid set point, reinstating an input device into the consideration of whether to increase or decrease the boiler fluid set point, storing boiler fluid set points and using the stored set points to create reset curves, generating logs indicating input devices that caused the boiler fluid set point to be increased, the number of times each input device caused an increase and the duration that each input device's deviation exceeded a threshold amount discussed above and program data 44 may include and stored data including boiler temperature fluid set points, counts for input devices, durations that each input device's deviation exceeded a threshold amount, days of the week, times of day, outside temperatures, and reset curves, for example.

Input devices including a keyboard 63 and a mouse 65 are connected to system bus 16 through an Input/Output interface 46 that is coupled to system bus 16. Monitor 48 is connected to the system bus 16 through a video adapter 50 and provides graphical images to users. Other peripheral output devices (e.g., speakers or printers) could also be included but have not been illustrated. In accordance with some embodiments, monitor 48 comprises a touch screen that both displays input and provides locations on the screen where the user is contacting the screen.

The personal computer 10 may operate in a network environment utilizing connections to one or more remote computers, such as a remote computer 52. The remote computer 52 may be a server, a router, a peer device, or other common network node. Remote computer 52 may include many or all of the features and elements described in relation to personal computer 10, although only a memory storage device 54 has been illustrated in FIG. 27. The network connections depicted in FIG. 27 include a local area network (LAN) 56 and a wide area network (WAN) 58. Such network environments are commonplace in the art.

The personal computer 10 is connected to the LAN 56 through a network interface 60. The personal computer 10 is also connected to WAN 58 and includes a modem 62 for establishing communications over the WAN 58. The modem 62, which may be internal or external, is connected to the system bus 16 via the I/O interface 46.

In a networked environment, program modules depicted relative to the personal computer 10, or portions thereof, may be stored in the remote memory storage device 54. For example, application programs may be stored utilizing memory storage device 54. In addition, data associated with an application program, such as data stored in the databases or lists described above, may illustratively be stored within memory storage device 54. It will be appreciated that the network connections shown in FIG. 27 are exemplary and other means for establishing a communications link between the computers, such as a wireless interface communications link, may be used. For example, such network connections may be used to connect the Building Management Control System to the Controller.

Computer 10 may further include interfaces for receiving signals from one or more of the input devices. These interfaces may receive wired connections or wireless connections to the input device and may receive analog values or digital values. The interfaces may include drivers that condition the signals received from the input devices to place them in a form desired by computer 10. For example, the interface can sample an analog signal to produce a sequence of digital values.

Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A system for establishing a boiler fluid set point comprising: a plurality of input devices providing input values for a plurality of different portions of a heating system; a controller determining that during a period of time there was always at least one input value that deviated from a set point for the input value by more than a threshold amount and in response, the controller increasing the boiler fluid set point.
 2. The system of claim 1 wherein the input device comprises one of a pressure sensor and a flow sensor.
 3. The system of claim 1 wherein the input device comprises a temperature sensor.
 4. The system of claim 1 wherein the controller determines that during a second period of time, none of the input values deviated from their set point and in response decreases the boiler fluid set point.
 5. The system of claim 4 wherein the controller only increases the boiler fluid set point if the increased boiler set point is less than an outdoor reset curve set point.
 6. The system of claim 1 wherein the controller further determines a boiler fluid set point from an outdoor temperature and a temperature reset curve formed based on adjusted boiler set points.
 7. The system of claim 1 wherein the system comprises a hydronic heating system that contains multiple secondary loops.
 8. The system of claim 1 wherein the system calculates a net efficiency of at least one boiler.
 9. The system of claim 1 wherein the controller generates a log containing a list of input devices that triggered raising the boiler fluid set point to a higher value.
 10. The system of claim 9 wherein the controller records the duration that each input value deviated from its set point by more than a deviation trigger value.
 11. The system of claim 9 wherein the controller records the number of times that an input device caused an increase in the boiler fluid set point.
 12. The system of claim 11 wherein when the number of times the input device's input value caused an increase in the boiler fluid set point exceeds a count threshold, the controller stops using the input device's input value to determine if the boiler fluid set point should be increased.
 13. The system of claim 12 wherein the controller generates a log that identifies areas associated with input devices that the controller stopped using to determine if the boiler fluid set point should be increased.
 14. The system of claim 13 wherein the controller further generates a log comprising a list of input devices ranked in order based on the number of times each input device caused an increase in the boiler fluid set point.
 15. The system of claim 1 wherein the controller records fluid temperatures going into and out of the boiler(s), fuel usage, and fluid flow, and generates a log containing a boiler efficiency data and a means of establishing the boiler fluid set point.
 16. A controller in a heating system changes a boiler fluid set point, stores the changed boiler fluid set point together with an outside temperature and uses the stored changed boiler fluid set point and the stored outside temperature to generate a reset curve used to establish a boiler fluid set point when starting a boiler system.
 17. The controller of claim 16 wherein the controller generates the reset curve by assigning the changed boiler fluid set point to a bine defined by a range of outside temperatures.
 18. The controller of claim 17 wherein the bin is further defined by at least one of a day of the week, a date and a time of day.
 19. A controller in a heating system identifies input devices that prevent the controller from lowering a boiler fluid set point and generates a log providing a list of such input devices.
 20. The controller of claim 19 wherein the log comprises the number of times the input device prevented the controller from lowering the boiler fluid set point.
 21. The controller of claim 19 wherein the log comprises a period of time when an input value provided by the input device differed from a set point for the input value by more than a threshold amount. 